package org.yar.common;

import org.yar.R;
import org.yar.views.TextSizeDialog;
import org.yar.views.TextSizeDialog.OnTextSizeChangedListener;

import android.content.Context;
import android.preference.Preference;
import android.util.AttributeSet;
import android.view.View;
import android.widget.TextView;

public class TextSizePreference 
	extends Preference
	implements Preference.OnPreferenceClickListener, OnTextSizeChangedListener {
	
	private TextView textsize;
	
	public TextSizePreference(Context context)
	{
		super(context);
		
		init();
	}
	
	public TextSizePreference(Context context, AttributeSet attrs) {
		super(context, attrs);
		
		init();
	}
	
	public TextSizePreference(Context context, AttributeSet attrs, int defStyle) {
		super(context, attrs, defStyle);
		
		init();
	}
	
	private void init()
	{
		setWidgetLayoutResource(R.layout.text_size_preference_widget);
		setOnPreferenceClickListener(this);
	}
	
	@Override
	protected void onBindView(View v)
	{
		super.onBindView(v);
		
		textsize = (TextView)v.findViewById(R.id.textsize);
		textsize.setText(R.string.text_size_sample);
		textsize.setTextSize(getPersistedInt(18));
	}

	@Override
	public boolean onPreferenceClick(Preference preference) {
		TextSizeDialog dialog = new TextSizeDialog(getContext(), getPersistedInt(18));
		dialog.setOnTextSizedChangedListener(this);
		dialog.show();
		
		return true;
	}

	@Override
	public void OnTextSizeChanged(TextSizeDialog dialog, int textSize) {
		textsize.setTextSize(textSize);
		getEditor().putInt(getKey(), textSize);
	}

}
